<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
// 函数的递归调用: recursive 在一个函数的内部调用自己
/*
 1. 递归调用, 一定要有结束条件
 2. 必须要能够达到结束条件
 */
// 用递归: 计算 一个数的阶乘
// n * (n - 1)!
function jiecheng(n){
    if (n == 1) return 1;
    return n * jiecheng(n - 1);
}
console.log(jiecheng(10))
// 计算 1+ 2 + 3 +... + 99 + 100  使用递归

// 输出斐波那契数列前   n 个  1 1 2 3 5 8...
// 迭代  定义一个函数, 计算数列的第 n 项
function f(n){
    if (n == 1 || n == 2) return 1;
    return f(n - 1) + f(n - 2);
}
console.log(f(30))
</script>
</body>
</html>